import openai
from django.conf import settings
import logging

# 创建一个日志记录器，用于捕捉和输出错误信息
logger = logging.getLogger(__name__)

def generate_summary(text):
    """
    使用 OpenAI GPT-4 API 来生成文本摘要

    参数:
    text (str): 需要总结的文本内容

    返回:
    str: 总结后的文本内容
    如果发生错误，则返回 None
    """
    try:
        # 调用 OpenAI API 生成摘要
        response = openai.Completion.create(
            engine="gpt-4",  # 使用 GPT-4 模型进行总结
            prompt=f"请总结以下内容：\n\n{text}",  # 提供总结的提示文本
            max_tokens=500  # 设置摘要的最大字符数限制
        )
        # 获取并返回生成的总结文本
        summary = response.choices[0].text.strip()
        return summary
    except openai.error.OpenAIError as e:
        # 如果发生 OpenAI API 错误，记录错误日志并返回 None
        logger.error(f"OpenAI API error: {e}")
        return None
    except Exception as e:
        # 捕捉其他类型的异常，记录错误日志并返回 None
        logger.error(f"General error: {e}")
        return None
